// 同余方程 乘法逆元 扩展欧几里得算法
// a 与 m 互质时，对于方程 ax ≡ 1 (mod m)
// 求 a 的乘法逆元 x (0 < x < m)
// 测试链接 ：https://loj.ac/p/110
// 相关帖子 ：https://www.cnblogs.com/dx123/p/16733758.html
// 相关帖子 ：https://oi-wiki.org/math/number-theory/linear-equation/
// 相关帖子 ：https://oi-wiki.org/math/number-theory/inverse/
// 提交以下的code，可以直接通过

#include <bits/stdc++.h>

using namespace std;

// 扩展欧几里得算法
int exgcd(int a, int b, int& x, int& y)
{
    if(b == 0)
    {
        x = 1;
        y = 0;
        return a;
    }
    int x1, y1, d;
    d = exgcd(b, a % b, x1, y1);
    x = y1, y = x1 - a / b * y1;
    return d;
}

int main()
{
    int n, a, p, x, y;
    scanf("%d%d", &n, &p);
    for(int a = 1; a <= n; ++a)
    {
        int d = exgcd(a, p, x, y);
        // (x % p + p) % p 保证得到最小正整数
        printf("%d\n", (x % p + p) % p);
    }

    return 0;
}